Inserting branding elements

ABSTRACT

Techniques are described that permit the flexible introduction of branding elements into or around video rendered by a media player. One or more sets of metadata related to the presentation of branding elements may be collected, and then one or more sets of the metadata may be selected based on business rules when the media player requests a particular piece of content. The selected metadata may indicate what branding element is to be displayed, and how it is to be displayed (e.g., position of element in video rendering window). The media player is then instructed based on the metadata to access and appropriately place the branding elements in or outside of the video rendering window (e.g., overlayed on top of the video content).

CLAIM OF PRIORITY

This application is a continuation of U.S. application Ser. No.13/163,920, filed Jun. 20, 2011 (now allowed), which is a continuationapplication of and claims priority to U.S. application Ser. No.12/625,113, filed Nov. 24, 2009 (now U.S. Pat. No. 7,987,483), which isa continuation application of and claims priority to U.S. applicationSer. No. 11/362,351, filed on Feb. 27, 2006 (now U.S. Pat. No.7,631,330), which claims priority to U.S. Provisional Application No.60/656,445, filed on Feb. 25, 2005. The entire contents of the aboveapplications are expressly incorporated herein by reference.

TECHNICAL FIELD

This disclosure relates generally to the delivery of content andassociated elements to end users.

BACKGROUND

Video content may be delivered across packet-based networks, such as theInternet, and presented to users by a media player. A media player mayoperate to present such content in at least two general ways. First, themedia player can begin playing the content while the content is sentover the network. This is generally referred to as streaming, and theassociated content may generally be referred to as streaming content.Streaming content may present certain advantages to the end-users, suchas reducing the time between the content's selection and display andremoving the need for client-side storage of media files.

Streaming content typically falls into two general categories: broadcastand on-demand. To a streaming server, a broadcast source is usually anyexternal video or audio feed, such as a television or radio station,whereas an on-demand source is usually a multimedia file chosen by theuser.

Broadcast streams are generally entered “in progress” by users. Eachclient connects to a single “pushed” stream so all clients experiencethe same portion of the media at the same time. On-demand streams aregenerally discrete “pulled” multimedia segments, such as individualsongs or video clips that are delivered to each client upon request.Each client starts at the beginning of the clip.

Second, as an alternative to streaming, the content may be completelydownloaded in advance of play by the media player. The contentassociated with this method of operation may generally be referred to asdownloaded content. The download approach may allow for delivery ofhigher-definition content than what the user's network connection mightotherwise support when streaming, and may allow for offline viewing ofcontent. Additionally, allowing the user to download high-definitioncontent in advance of play may reduce the content publisher's relianceon more expensive streaming technologies.

SUMMARY

In one aspect, one or more sets of branding metadata are associated witha segment of video content. Each of the sets of branding metadatainclude information related to presenting at least one branding elementin association with the segment of video content. Also, one or more setsof content metadata are associated with the segment of video content.Each of the sets of content metadata include information related topresenting the segment of video content. Business rules are stored. Thebusiness rules are for selecting at least one of the sets of brandingmetadata and for selecting at least one of the sets of content metadata.A request that indicates the segment of video content is received, andin response to receiving the request, at least one of the sets ofbranding metadata associated with the segment of video content isselected based on the business rules. Also in response to receiving therequest, at least one of the sets of content metadata associated withthe segment of video content is selected based on the business rules;and a client system is instructed to generate a presentation based onthe selected set of branding metadata and the selected set of contentmetadata. The presentation includes the segment of video content and thebranding element.

Implementations may include one or more of the following features. Forexample, the content metadata may indicate that the segment of videocontent should be presented in a fullscreen mode. Instructing the clientsystem to generate the presentation then may include instructing theclient system to generate the presentation such that the segment ofvideo content and the branding element are presented together in afullscreen video rendering window. The client system may be instructedto generate the presentation such that the branding element is overlayedon top of the segment of video content.

The branding metadata may indicate that the branding element should beoverlayed on top of the segment of video content when a video renderingwindow presenting the segment of video content is in a fullscreen mode.Instructing the client system to generate the presentation in that casemay include instructing the client system to generate the presentationsuch that the branding element is overlayed on top of the segment ofvideo content when a video rendering window presenting the segment ofvideo content is in a fullscreen mode.

The branding metadata may indicate that the branding element should bepresented in an area around a video rendering window when a videorendering window presenting the segment of video content is not in afullscreen mode. In that case, instructing the client system to generatethe presentation may include instructing the client system to generatethe presentation such that the branding element is presented in an areasurrounding a video rendering window when the video rendering window isnot in a fullscreen mode.

The business rules may include business rules for selecting one of thesets of branding metadata and one of the sets of content metadata basedon one or more of the following: a surface point from which the segmentof video content was selected, user specific information, a contentcategory of the segment of video content, or an identity of the segmentof video content. The branding element may include one or more of thefollowing: a branding/advertising element, a playlist contextualelement, an environmentally targeted contextual element, or a programcontextual element.

Instructing the client system to generate the presentation may includesinstructing the client system to access and present the branding elementwhile the segment of video content is presented. Alternatively, oradditionally, instructing the client system to generate the presentationmay include instructing the client system to blend together the brandingelement and the segment of video content to create a single video file.

The content metadata may include a playlist of media items, with one ofthe media items being the segment of video content. The brandingmetadata may indicate that the branding element is a playlist contextualelement and that information presented by the playlist contextualelement is to be obtained from the playlist.

In another aspect, one or more sets of branding metadata are stored.Each of the sets of branding metadata includes information related topresenting at least one branding element in association with a segmentof video content. Also, business rules for selecting at least one of thesets of branding metadata are stored. At least one of the sets ofbranding metadata is selected based on the business rules and a clientsystem is instructed to generate a presentation based on the selectedset of branding metadata. The presentation includes the segment of videocontent and the branding element.

Implementations may include one or more of the following features. Forexample, the branding metadata may indicate that the branding elementshould be overlayed on top of the segment of video content or thebranding metadata may indicate that the branding element should bepresented in an area around a video rendering window that presents thesegment of video content. The branding metadata may indicate that thebranding element should be presented in an area around a video renderingwindow that presents the segment of video content when the videorendering window is not in a fullscreen mode and that the brandingelement should be overlayed on top of the segment of video content whenthe video rendering window is in the fullscreen mode.

The business rules may include business rules for selecting one of thesets of branding metadata based on one or more of the following: asurface point from which the segment of video content was selected, userspecific information, a content category of the segment of videocontent, or an identity of the segment of video content. The brandingelement may include one or more of the following: a branding/advertisingelement, a playlist contextual element, an environmentally targetedcontextual element, or a program contextual element. The brandingmetadata may that the branding element is a playlist contextual elementand that information presented by the playlist contextual element is tobe obtained from a playlist that includes the segment of video content.

Also, one or more sets of content metadata may be stored. Each set ofcontent metadata may include information related to presenting thesegment of video content. Business rules for selecting one of the setsof content metadata also may be stored. One of the sets of contentmetadata associated with the segment of video content may be selectedbased on the business rules for selecting one of the sets of contentmetadata. Instructing a client system to generate a presentation basedat least on the branding metadata may include instructing the clientsystem to generate the presentation based on the branding metadata andthe content metadata.

Implementations of the described techniques may include hardware, amethod or process, and computer software on a computer-accessiblemedium.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features will beapparent from the description and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is an illustration showing an example of a video scene thatincludes branding elements overlayed on top of the video scene.

FIG. 2 is a diagram illustrating a system in which branding elements arepresented in association with video content.

FIG. 3 is a diagram illustrating an example of an operation of theclient system and server system shown in FIG. 2.

FIG. 4 is an example of a process that may be performed by the servershown in FIG. 2.

DETAILED DESCRIPTION

Generally, a video rendering window on a client system (e.g., a personalcomputer (PC) or a personal video recorder (PVR)) may display video(e.g., live or on-demand streaming video, downloaded video, or recordedvideo) to a user. There may be any number of circumstances when it isdesirable to display branding and other elements inside the videorendering window (e.g., overlayed on top of the video being presented inthe video rendering window). This may be true, for example, when thevideo rendering window is displayed fullscreen (that is, it takes up theentire viewing space of the display device). When video is displayedfullscreen, there may be nowhere to place the branding and similarelements outside of the video rendering window such that they will beseen. For instance, if a user switches from a “normal” mode (e.g., wherethe video rendering screen is less than fullscreen and may be surroundedby HTML pages or other elements) to a fullscreen mode, this selectionmay cause branding and other elements displayed in HTML pages or otherareas outside of the video rendering window to be covered up by thevideo rendering window, and therefore no longer visible to the user.Thus, it may be desirable to display such elements inside the videorendering window when the window is in a fullscreen mode. Furthermore,there may be any number of circumstances when it is desirable to displaybranding and other elements inside the video rendering window,regardless of whether the video rendering window is fullscreen or not.

Examples of branding and other elements that may be displayed inside oroutside of the video rendering window include branding/advertisingelements (e.g., source or sponsor logos such as AOL®, CNN®, and NFL®),playlist contextual elements (e.g., previews of upcoming programming),environmentally targeted elements (e.g., weather alerts), and programcontextual elements (e.g., sports scores, and information about anartist or movie). In general, these various elements will be simplyreferred to as branding elements below.

Such elements generally have the following basic attributes:

-   -   Behavior: How an element behaves when displayed. Examples        include movement and action when selected.    -   Presentation: The interaction that an element has visually with        the video. Examples include transparency or opaqueness.    -   Location: Instruction to the video rendering engine that tell it        where an element is placed in relationship to the video.    -   Source: The location where the element is to be retrieved from,        such as a Uniform Resource Locator (URL).

Typical applications of such elements include channel branding, programsponsorship, previews of upcoming programming, and interactiveprogramming guides.

Referring to FIG. 1, shown is an example of a video scene 100 includingbranding elements overlayed on top of the video scene 100. The videoscene 100 is, for example, a scene from a football game.

The branding elements include a first branding element 102 placed in theupper right-hand corner of the video, a second branding element 104below the first branding element 102, a third branding element 106placed in the upper left-hand corner of the video scene 100, and afourth branding element 108 placed in the bottom center of the videoscene 100.

The first branding element 102 is a branding/advertising element thatindicates the original provider of the content, such as, for example theNFL®. The second branding element 104 is a program contextual elementthat displays the score of the football game shown in the video scene100. The third branding element 106 is another branding/advertisingelement that indicates the surface location or channel that is makingthe video available for viewing, such as, for example, ESPN.COM®. Thefourth branding element 108 is another program contextual element thatdisplays the scores of football games other than the one shown in videoscene 100.

The following discussion describes techniques that permit the flexibledisplay of branding elements such as branding messages, sponsorshipicons, and interactive elements such as in video ad curtains andprogramming information, within a video rendering window or outside ofthe video rendering window.

In general, the following discussion describes a system that permits theflexible introduction of branding elements into or around video renderedby a media player. One or more sets of metadata related to thepresentation of branding elements may be collected, and then one or moresets of the metadata may be selected based on business rules when themedia player requests a particular piece of content. The selectedmetadata may indicate what branding element is to be displayed, and howit is to be displayed (e.g., position of element in video renderingwindow). The media player is then instructed based on the metadata toaccess and appropriately place the branding elements in or outside ofthe video rendering window (e.g., overlayed on top of the videocontent).

In some implementations, how the branding element is to be displayed maydepend on whether the media player is full screen or not. For instance,the branding elements may be displayed in the video rendering windowwhen the media player is fullscreen, but be displayed in surroundingelements, such as HTML pages, when the media player is not in fullscreen mode. In this case, the media player may use the metadata toappropriately place the branding elements in the video rendering window(e.g., overlayed on top of the video content) or in the surroundingelements, such as HTML pages, depending on the state of the mediaplayer. The metadata also may indicate to the media player what mode thecontent should be displayed in, e.g. fullscreen, normal, or any.

Referring to FIG. 2, a system 200 includes a client system 202 that cancommunicate with a server system 206 over a packet-switched network 204,such as the Internet. In general, the server 206 receives a request fromthe client system 202 regarding a segment of video content. The server206 then instructs the client system 202 to access the segment of videocontent and associated branding elements (and possibly other videocontent), and to synchronize the presentation of the video and theassociated branding elements, as discussed further with respect to FIG.3.

The client system 202 or server system 206 may be implemented using, forexample, a general-purpose computer, a personal computer (PC), aspecial-purpose computer, a workstation, a server, a personal videorecorder, a media center PC, a device, a component, or other equipmentor some combination thereof capable of responding to and executinginstructions. These components may receive instructions from, forexample, a software application, a program, a piece of code, a device, acomputer, a computer system, or a combination thereof, whichindependently or collectively direct operations, as described herein.

Packet switched network 204 may include Wide Area Networks (WANs), LocalArea Networks (LANs), analog or digital wired and wireless telephonenetworks (for example, a Public Switched Telephone Network (PSTN), anIntegrated Services Digital Network (ISDN), or a Digital Subscriber Line(xDSL)), or any other wired or wireless network including, for example,a corporate LAN. Network 204 may include multiple networks orsubnetworks, each of which may include, for example, a wired or wirelessdata pathway.

A media player application may be implemented on client system 202 as aweb-based media player application 208 or a stand-alone media playerapplication 210. The web-based media player application 208 may includea video rendering engine 212, a web-based control layer 214, and aweb-based presentation layer 216.

The web-based presentation layer 216 may be, for example, a HypertextMarkup Language (HTML) based web page and the web-based control layer218 may be, for example, Javascript code included as a part of the HTMLbased web-page. The video rendering engine 212 may be, for example, amedia player, such as the Windows Media® Player from MicrosoftCorporation or the RealPlayer® from RealNetworks, Inc., embedded in theHTML based web-page. The video rendering engine 212 may render the videoin a video rendering window displayed in the HTML based web-page. Thus,from the user perspective, the web-based media player application 208may include an HTML based web-page having an embedded video renderingwindow that is surrounded by various elements such as branding elementsor the video rendering engine controls.

In general, the web-based presentation layer 216 controls the placementof the video rendering window and presentation of elements surroundingthe video rendering engine (for example, branding elements and/or videorendering engine control elements). The web-based control layer 214implements logic based on events, such as a user input to the web-basedpresentation layer 216 or instructions from server 206. In general, theevents may be synchronous or asynchronous and may be relative orabsolute to the video timeline or local time, where the video timelinemay be expressed as time, frames or other means, and where the eventsthemselves may be transmitted in band with the video stream or out ofband using a separate communication session. The web-based control layer214 also provides information to the web-based presentation layer 216such that the web-based presentation layer 216 changes the presentationof elements surrounding the video rendering window. The web-basedcontrol layer 216 also generally controls the video rendering engine 212based on user input to the web-based presentation layer 216 and otherevents.

The stand-alone media player application 210 may include the videorendering engine 212 and a single (or separate) presentation/controllayer 218 that operates to provide similar functions as the web-basedpresentation layer 216 and web-based control layer 214. The stand-alonemedia application may be, for example, the Windows Media® Player or theReal Player. Similar to the web-based media player application 208, thestand-alone media player application 210 may include a video renderingwindow with elements (e.g., branding elements or video controls)presented around the video rendering window. Also similar to theweb-based media player application 208, some of the surrounding elementsmay be displayed using, for example, HTML based documents.

The server 206 includes a framework 220 that allows advertising and/oreditorial/programming staff to associate one or more sets of contentmetadata 222 and one or more sets of branding metadata 224 with a givensegment of video content. The segment of video content may be, forexample, a broadcast or on-demand streaming video, or a downloadedvideo.

A set of content metadata may indicate, for example, a playlist thatincludes one or more types of media items to be rendered by the videorendering engine 212, including the given segment of video content. Forinstance, the playlist may indicate that an advertisement should berendered and then the segment of video content should be rendered. A setof content metadata also may indicate a screen state (e.g., fullscreen,normal, or any) for the video rendering window for each of the mediaitems in the playlist.

Generally, a set of branding metadata indicates one or more brandingelements to be presented in association with the given segment of videocontent and indicates the behavior and presentation of the brandingelements in the video rendering window. Also, the branding metadata mayinclude an indication of the behavior and presentation of the brandingelements in an HTML page or other area surrounding the video renderingwindow in implementations in which the placement of the branding dependson the state of the video rendering window (e.g., fullscreen or normal).A set of branding metadata also may indicate one or more brandingelements to be presented in association with other media items in aplaylist included as part of the content metadata, and the behavior andpresentation of those branding elements.

A set of branding metadata may include the data elements shown in table1 below for each branding element associated with the given segment ofvideo content and any other media items indicated in a set of contentmetadata.

TABLE 1 double single Name Behavior Presentation Location SourceMouseover click click User Defined Any legal Used to Relative orLocation Element Element Element name. Might behavior, describe Absoluteof name, name, name, include used to blending position of brandingjavascript, javascript, javascript, addressable describe with Element inelement html or html or html or screen timing or background the Videohyperlink hyperlink hyperlink regions or movement Rendering to access toaccess to hit if MPEG Window if mouse'd if double single object namesover clicked clicked

Examples of values for some of the data elements shown in table 1 areshown in table 2 below.

TABLE 2 Behaviors Changes when moused Clickable Scrolled Flys on/offFrame Start time Frame End time Relative Start time Relative End timePresentations Translucent Blended with content Opaque Location X, Y,relative to origin (not absolute coordinates) X, Y, absolute SourcesUniform Resource Locator indicating location of branding element file

The framework 220 generally includes an interface that allows anadvertising and/or editorial/programming staff to enter a set of contentmetadata and associate that set of content metadata with the givensegment of video content. Thus, for example, if a sports clip is to bemade available for selection, the staff may use the interface todesignate a playlist that includes the sports clip and advertising video(e.g., advertisements, previews, branding video) that is displayed withthe sports clip, and to associate that playlist with the sports clip.The staff may designate, for instance, that an advertisement be shownbefore the sports clip is shown and that both the advertisement andsports clip are to be shown in full screen mode.

The interface also allows the advertising and/or editorial/programmingstaff to enter a set of branding metadata and associate that set ofbranding metadata with the given segment of video content. Morespecifically, the staff may associate a particular branding element withthe given segment of video content, and enter the data as to how thatbranding element is to be displayed in the video rendering window (andin some implementations, how that element is displayed in a surroundingHTML page or other surrounding element). For example, the staff maydesignate a corporate logo as being associated with the sports clip, andmay designate that this logo should be displayed in the upper rightcorner of the video rendering window and that the logo be fully opaque(or translucent). The interface also may allow the staff to designatebranding elements for each video in the playlist and how those brandingelements are to be displayed in the video rendering window (and in someimplementations, how the branding element will be displayed insurrounding elements when the media player is in normal mode).

Some of the designated branding elements in the branding metadata mayobtain their information based on the user's selection of content to beplayed in the future, or based on the playlist contained in the contentmetadata. For instance, a branding element may be displayed in a videosegment and indicate what video segments will be played in the future,based on a playlist of user selections and/or the playlist provided inthe content metadata. For instance, if a preview of a new sports movieis to be played after a sports clip, a branding element may be displayedinside the video rendering window and indicate that a preview of the newmovie is coming up next, and that the viewer should “stay tuned” to seeit. The information regarding the new movie (e.g., title) may have beenretrieved from the content metadata (rather than being specificallyentered by the staff when they designated that branding elementaccompany the sports clip). As another example, an element may show thelist of programming content (that is, the content that a user desires tosee, as opposed to branding or advertising) that will be played afterthe present selection.

The interface also allows the staff to enter and associate more than oneset of content metadata and more than one set of branding metadata withthe given segment of video content, and to indicate business rules 226for selecting one or more of the sets of content metadata and one ormore of the sets of branding metadata when the segment of video contentis requested. The business rules 226 may, for example, designate whichset(s) of content metadata and which set(s) of branding metadata to usebased on the surface location from which the segment of video contentwas selected. In general, a provider of content may provide the samecontent from a number of different surface locations. For example, acontent provider may make a particular segment of video contentavailable on an “entertainment” themed web page and on a “top news”themed web page. It such situations, it may be desirable to havedifferent playlists and different branding elements depending on thesurface location from which the segment of video content was selected.

Thus, for example, a sports clip may be made available at one surfacelocation, such as a sports web page, and the staff can designate a setof branding metadata for the sports clip when the clip is selected fromthe sports page. The sports clip also may be made available on a newsweb page. The staff can also designate a different set of brandingmetadata to be used when the sports clip is selected from the news webpage. Which sets are used then depends on the surface location (sportsweb page or news web page) from which the user selected the sports clipfor presentation. Therefore, for example, one set of branding metadatamay indicate one logo for display when the sports clip is selected fromthe sports web page, while the second set of metadata may indicate adifferent logo for display when the sports clip is accessed from thenews web page.

Additionally, or alternatively, the business rules 226 may, for example,designate which set(s) of content metadata and which set(s) of brandingmetadata to use based on a content category (e.g., sports or music) ofthe segment of video content, based on user specific information (e.g.,the number of times a branding element has already been shown to aparticular user), and/or based on an identity of the segment of videocontent (e.g., a specific movie).

Similar to the situation with the surface location business rules, itmay be desirable to have different playlists and different brandingelements depending on the content category of the segment of videocontent, regardless of which site location from which the content wasselected. For instance, the staff may designate that a certain brandinglogo be shown with sports content. In such a situation, the brandinglogo may be displayed with the video content, regardless of whether thevideo content was selected from a sports web page or a news web page.

By basing business rules 226 on user specific information, it ispossible to tailor the video experience to a certain user. For example,it may be desirable to limit the number of times in a certain timeperiod (or for a certain quantity of video) that a branding element isshown to the user. For example, if the user has selected, from a singlesurface location, more than one segment of video content to be presentedback-to-back, then it may be desirable to only display a logo for thesurface location in the first one of the segments, rather than in all ofthem. As another example, user specific information, such as ageographic location of the user, may be used to tailor environmentallycontextual elements (e.g., weather alerts) to the user.

Basing business rules 226 on the identity of the content may allow for aset of branding metadata that controls the placement or insertion ofbranding elements in a manner that is specific to the particularcontent. For example, a particular movie may have certain dramaticscenes in which it is desirable to not present any branding overlayed ontop of the movie. Similarly, for example, there may be certain timesduring a particular movie in which a branding element should not beoverlayed on top of a certain portion of the video (e.g., because it maycover up the area of the video in which certain action is taking place).In such situations, it may be desirable to designate branding metadatathat prevents the overlay of branding elements during the times and/orareas of the video.

The interface may allow the staff to associate sets of metadata with agiven segment of video content directly by associating it with thesegment specifically, or indirectly by associating the metadata with,for example, a content category of the video content or a surfacelocation from which the segment of content is available. For example, ifthe segment of video content is a sports related video, the interfacemay allow the staff to enter and indirectly associate a set of brandingmetadata with the sports related video by associating the set ofbranding metadata with a sports category. Similarly, for example, thestaff may enter and indirectly associate a set of branding metadata withthe sports related video by associating the set of branding metadatawith a sports web page from which the sports related video is available.

FIG. 3 illustrates an example of the operation of web-based media playerapplication 208 and server 206 in an implementation in which the controllayer 214 causes the branding elements to be displayed in the videorendering window or in surrounding HTML pages depending on the state ofthe video rendering window. An implementation of the stand-alone mediaplayer application 210 may operate in the same fashion, with the singlecontrol/presentation layer 218 performing the operations described withrespect to web-based control layer 214 and web-based presentation layer216.

When a user makes a video content request (e.g., by selecting a playbutton), the presentation layer 216 informs the control layer 214 of thecontent request (302). The control layer 214 sends a request to theserver 206 (304). The request may indicate one or more of an identity ofthe requested video, a content category of the requested video, asurface location from which the video was requested, or a useridentifier that may be used to determine user specific information(e.g., a globally unique identifier (GUID)).

The server 206 uses the information in the request to select theappropriate set(s) of content metadata and the appropriate set(s) ofbranding metadata based on the business rules. The server 206 may storethe business rules locally or remotely, and access them as appropriateto select the set(s) of metadata. When the rules are stored remotely,they may be accessed through the exchange of rules at theserver-to-server layer, or they may be accessed through the clientsystem 202, for example, by using explicit security policies.

The server 206 then instructs the media player application 208 to accessthe requested video and associated branding elements and generate apresentation that includes the requested video and branding elementsappropriately synchronized, for example, by sending the selected set(s)of content metadata and selected set(s) of branding metadata to thecontrol layer 214 (306 and 308). Depending on the selected set(s) ofcontent metadata, the presentation may also include other video content,such as advertisements. As described above, the content metadata mayinclude a playlist of media items, where one of the media items is therequested video. The playlist may include, for example, an ordered listof the locations (for example, Uniform Resource Locators (URLs)) of thevarious media items. Also, depending on the selected set(s) of brandingmetadata, the presentation also may include other branding elementsappropriately synchronized with the other video content.

The content metadata and branding metadata may be sent from the server206 in, for example, a extensible mark-up language (XML) or othermark-up language format. Further, the branding and content metadata maybe sent separately or may be sent together. For instance, the brandingand content metadata may be sent as separate files, or may be sent in asingle Synchronized Multimedia Integration Language (SMIL) file.

Depending on the state of the video rendering window, the control layer214 causes the branding elements to be displayed in the video renderingwindow (312) or in surrounding HTML pages (310). For instance, when themedia player 208 is in full screen mode, the control layer 214 causesthe branding elements to be displayed in the video rendering window(e.g., overlayed on top of the video) (312) and, when the player is notin fullscreen mode (that is, normal mode), the control layer 214 causesthe branding elements to be displayed in a surrounding HTML page (310).

The control layer 214 may cause the appropriate display of the brandingelements by parsing the branding metadata and instructing thepresentation layer 216 or video rendering engine 212 appropriately.Alternatively, the control layer 214 may pass the metadata directly tothe rendering engine 212 or presentation layer 216, which parses themetadata and causes the appropriate display to occur. A combination ofthese techniques may be used. For example, the control layer 214 mayparse the metadata and instruct the presentation layer 216 asappropriate when the video rendering window is not in fullscreen mode,while passing the branding metadata (e.g., in a SMIL format) to thevideo rendering engine 212 when the video rendering window is in afullscreen mode.

In some implementations, rather than, or in addition to, blending theseparate branding elements and video together on-the-fly as the video isdisplayed by the media player 208, the video and branding elements maybe blended together to create a single video file having the brandingelements blended with the video. This single file then may be availablefor export to a portable player, such as a portable video player, wherethe single video file can be displayed without the need to blendbranding and video elements together on-the-fly as the video is beingpresented.

The media player 208 also may send back measurement data to the server206 or another server. The measurement data may indicate when the mediaplayer 208 is in full screen mode, when the user is fast forwarding orrewinding the media, and/or when the media player is in the backgroundor in the foreground. The measurement data also may indicate what mediathe media player is presenting, as well as from where the media wasselected or retrieved. The measurement data may allow the provider ofthe media and/or the provider of the branding and advertisements toanalyze the manner users interact with certain content, thereby allowingthe provider and advertisers to make better choices about whether toplace advertisements or branding, and when and where to place them.

Referring to FIG. 4, a process 400 may be implemented, for instance, byserver 206 and media player application 208 (or media player application210). Server 206 associates one or more sets of branding metadata with asegment of video content (402). Each of the sets of branding metadatainclude information related to presenting at least one branding elementin association with the segment of video content. In addition, theserver 206 associates one or more sets of content metadata with thesegment of video content (404). Each of the sets of content metadatainclude information related to presenting the segment of video content.The server 206 also stores business rules for selecting at least one ofthe sets of branding metadata and for selecting at least one of the setsof content metadata (406). The media player application 208 sends arequest to the server 206, which receives the request (408). In responseto receiving the request, the server 206 selects at least one of thesets of branding metadata associated with the segment of video contentbased on the business rules (410). The server 206 also selects at leastone of the sets of content metadata associated with the segment of videocontent based on the business rules (412). Based on the selected set ofbranding metadata and the selected set of content metadata, the server206 instructs the media player application 208 to generate apresentation that includes the segment of video content and the brandingelement (414). In response, the media player application 208 accessesthe segment of video content and the branding element and generates apresentation that synchronizes the segment of video content and thebranding element in accordance with the content metadata and thebranding metadata (416).

The above described techniques may allow for video assets to be re-usedwith different branding elements, and with different behaviors of thebranding elements by enabling an advertising and/or editorial staff toenter and associate multiple sets of branding metadata with a givensegment of video content, enabling them to indicate business rules forselecting which set(s) to use, and causing the client system to accessand synchronize the video and branding elements. This also may allow forflexible, and arbitrarily complex, placement of branding elements withvideo content. For instance, the logo used for content accessed from aparticular surface location may be changed. By referencing the new logoin the branding metadata, the logo displayed when the sports clip ispresented can be updated.

Accordingly, in general, the described system may provide for a brand,playlist and ad management system, where the branding elements andcontent are synchronized at the client rather than at the head end, on aclient specific basis, separate from, but potentially coordinated with,the content management and distribution system. The described systemalso may provide for the synchronization of branding and contentelements based on events introduced in the content management anddistribution system that specify the general class of brand elements tobe introduced into the content, rather than the specific elements.Furthermore, the system may allow the client to then request thebranding elements, thereby allowing severs other than the main contentserver to provide the branding elements. As such, multiple servers coulddeliver video content and branding elements to a single client basedupon a client initiated request or a server initiated request.

The branding elements associated with a segment of video content may beinteractive elements, which may allow for the following applications.

For example, interactive elements may allow for product purchases.Specifically, interactive branding elements may be introduced to allow auser to select for purchase an item displayed in the video. Interactivebranding elements also may allow for selection of additional videosegments related to a selected video segment. For instance, a specificshow might have an additional segment for display, such as an interviewwith the cast for a particular episode of the show. An option to viewsuch an additional segment may be presented as a branding element thatis displayed during or immediately after the show, possibly withoutinterfering with the show itself. An example of such a scenario providesan interactive element that the user can click on or mouse over. Thiscauses a menu to be expanded that shows the additional segmentsavailable for the show. The user selecting the additional segment thencause that additional segment be played, with perhaps an interveningsponsor message.

Interactive elements also may allow for audience voting. For example,the audience may be solicited to provide input on a topic, and then theresult is displayed on screen. First the topic to vote on may bedisplayed, and then the choices, which the user then selects, andfinally the result may be tallied and displayed on screen.

As another example, interactive elements may allow for email or IMnotification and for home automation interaction. For instance, when theuser's email or IM is notified, a pop-up may be blended into the video,and the user may then select to transition to the email or IMapplication. Home automation notifications may include home alarms,HVAC, or lighting controls.

The techniques described above are not limited to any particularhardware or software configuration. Rather, they may be implementedusing hardware, software, or a combination of both. The methods andprocesses described may be implemented as computer programs that areexecuted on programmable computers comprising at least one processor andat least one data storage system. The programs may be implemented in ahigh-level programming language and may also be implemented in assemblyor other lower level languages, if desired.

Any such program will typically be stored on one or more computer-usablestorage media or devices (for example, CD-ROM, RAM, or magnetic disk).When read into the processor of the computer and executed, theinstructions of the program cause the programmable computer to carry outthe various operations described above.

A number of implementations have been described. Nevertheless, it willbe understood that various modifications may be made. For example,elements of one or more implementations may be combined, deleted,supplemented, or modified to form further implementations. Accordingly,other implementations are within the scope of the following claims.

What is claimed is:
 1. A method for presenting branding elements withelectronic content, comprising: associating one or more sets of brandingmetadata with a segment of electronic content, the sets of brandingmetadata including information defining how at least one brandingelement is to be presented based on a state of a window in which theelectronic content is displayed; associating one or more sets of contentmetadata with the segment of electronic content, the sets of contentmetadata including information related to presenting the segment ofelectronic content; receiving a request that indicates the segment ofelectronic content; and in response to receiving the request: selectingat least one of the sets of branding metadata associated with thesegment of electronic content; selecting at least one of the sets ofcontent metadata associated with the segment of electronic content; andinstructing, with at least one processor, a client system to generate apresentation based on the selected at least one set of branding metadataand the selected at least one set of content metadata, wherein thepresentation includes the segment of electronic content and the at leastone branding element, and the at least one branding element is presentedbased on the state of the window.
 2. The method of claim 1, wherein: theselected at least one set of content metadata indicates that the segmentof electronic content should be presented in a fullscreen state of thewindow; the selected at least one set of branding metadata defines thatthe at least one branding element is to be presented in the window withthe segment of electronic content in the fullscreen state; andinstructing the client system to generate the presentation includesinstructing the client system to generate the presentation such that thesegment of electronic content and the branding element are presentedtogether in the window in the fullscreen state.
 3. The method of claim2, further comprising: instructing, with the at least one processor, theclient system to generate the presentation such that the brandingelement is overlayed on top of the segment of electronic content inwindow in the fullscreen state.
 4. The method of claim 2, wherein: thebranding metadata further indicates that the branding element should beoverlayed on top of the segment of electronic content when the window isin the fullscreen state; and instructing the client system to generatethe presentation includes instructing the client system to generate thepresentation such that the branding element is overlayed on top of thesegment of electronic content when the video-rendering window is in thefullscreen state.
 5. The method of claim 2, wherein: the brandingmetadata further indicates that the branding element should be presentedin an area around the window when the window is not in a fullscreenstate; and instructing the client system to generate the presentationincludes instructing the client system to generate the presentation suchthat the branding element is presented in an area surrounding the windowwhen the window is not in the fullscreen state.
 6. The method of claim1, further comprising: accessing rules for selecting at least one of thesets of branding metadata and for selecting at least one of the sets ofcontent metadata.
 7. The method of claim 6, wherein the rules includerules for selecting one of the sets of branding metadata and one of thesets of content metadata based on one or more of the following: asurface location from which the segment of electronic content wasselected, user specific information, a content category of the segmentof electronic content, or an identity of the segment of electroniccontent.
 8. The method of claim 1, wherein the at least one brandingelement includes one or more of the following: an advertising element, aplaylist contextual element, an environmentally-targeted contextualelement, or a program contextual element.
 9. The method of claim 1,further comprising: instructing, with the at least one processor, theclient system to generate the presentation includes instructing theclient system to access and present the at least one branding elementwhile the segment of electronic content is presented.
 10. The method ofclaim 1, further comprising: instructing, with the at least oneprocessor, the client system to blend together the at least one brandingelement and the segment of electronic content to create a single videofile.
 11. The method of claim 1, wherein the content metadata furtherincludes a playlist of media items, at least one of the media itemsbeing the segment of electronic content.
 12. The method of claim 11,wherein the branding metadata further indicates that the brandingelement is a playlist contextual element and that the informationpresented by the playlist contextual element is to be obtained from theplaylist.
 13. A method for presenting branding elements with electroniccontent, the method comprising: accessing content metadata associatedwith one or more segments of electronic content, the content metadataincluding content presentation information relating to presenting thesegments of electronic content and content storage locations forretrieving the segments of electronic content; accessing brandingmetadata associated with one or more branding elements, the brandingmetadata including branding presentation information defining how thebranding elements are to be presented based on a state of a window inwhich the electronic content is displayed and branding element storagelocations for retrieving the branding elements; receiving an indicationof a request by a client device to access a desired segment ofelectronic content; responsive to the indication: selecting brandingmetadata for a branding element associated with the desired segment ofelectronic content; selecting content metadata associated with thedesired segment of electronic content; and transmitting, with at leastone processor, instructions to the client device to: retrieve thedesired segment of electronic content from the content storage locationcontained in the selected content metadata; retrieve the brandingelement from the branding element storage location contained in theselected branding metadata, and generate a presentation including theretrieved segment of electronic content and the retrieved brandingelement, based on the content presentation information and on thebranding element presentation information respectively contained in theselected content metadata and in the selected branding metadata, suchthat the retrieved branding element is presented based on the state ofthe window.
 14. The method of claim 13, wherein the content presentationinformation indicates states of display windows used to view thesegments of electronic content.
 15. The method of claim 14, wherein thestates include a fullscreen display state or a partial screen displaystate for the segments of electronic content.
 16. The method of claim14, further comprising: transmitting, with the at least one processor,instructions to the client device to display the retrieved segment ofelectronic content in the window using the state contained in theselected content metadata.
 17. The method of claim 13, wherein thebranding presentation information includes at least one of displaybehaviors, display positions, display properties, or user interfacefunctions of the branding elements.
 18. The method of claim 13, furthercomprising: accessing rules for selecting branding elements forpresentation with the segments of electronic content.
 19. The method ofclaim 18, wherein the rules include rules for selecting the brandingmetadata and the content metadata based on at least one of a surfacelocation of a web page associated with the desired segment of electroniccontent, a content category associated with the desired segment ofelectronic content, or information about a user associated with theclient device.
 20. A method for presenting branding elements withelectronic content, the method comprising: accessing content metadataassociated with one or more segments of electronic content, the contentmetadata including content presentation information relating topresenting the segments of electronic content and content storagelocations for retrieving the segments of electronic content; accessingbranding metadata associated with one or more branding elements, thebranding metadata including branding presentation information defininghow the branding elements are to be presented based on a state of awindow in which the electronic content is displayed and branding elementstorage locations for retrieving the branding elements; receiving anindication of a request by a client device to access a desired segmentof electronic content; responsive to the indication: selecting brandingmetadata of a branding element associated with the requested segment ofelectronic content; selecting content metadata associated with therequested segment of electronic content; generating a playlistincluding: a content storage location for the requested segment ofelectronic content contained in the selected content metadata; abranding storage location for the branding element contained in theselected branding metadata; branding element presentation informationfor the branding element; and a presentation sequence for the requestedsegment of electronic content and the branding element; andtransmitting, with at least one processor, instructions to the clientdevice to retrieve and present the desired segment of electronic contentand the branding element based on the playlist, such that the retrievedbranding element is presented based on the state of the window.
 21. Themethod of claim 20, wherein the content presentation informationindicates states of windows used to display the segments of electroniccontent.
 22. The method of claim 21, wherein the states include afullscreen display state or a partial screen display state.
 23. Themethod of claim 20, further comprising: transmitting, with the at leastone processor, instructions to the client device to display theretrieved segment of electronic content in a display window having thestate contained in the selected content metadata.
 24. The method ofclaim 20, wherein the branding presentation information includes atleast one of display behaviors, display positions, display properties,or user interface functions of the branding elements.
 25. The method ofclaim 20, further comprising accessing rules for selecting brandingelements for presentation with the segments of electronic content. 26.The method of claim 25, wherein the rules include rules for selectingbranding elements for presentation with the segments of electroniccontent based on at least one of a surface location of a web pageassociated with the desired segment of electronic content, a contentcategory associated with the desired segment of electronic content, orinformation about a user associated with the client device.